package scala.function

/**
 * 匿名内部函数
 */
case object FunctionDeclareTest06 {
  def main(args: Array[String]): Unit = {
    //    (1)定义一个函数，参数包含数据和逻辑函数
    def cal(num: Array[Int], op: Int => Int) = {
      for (i <- num) yield op(i);
    }

    //定义具体的逻辑处理函数方法
    def opAdd(n1: Int): Int = n1 + 2

    def opSub(n1: Int): Int = n1 - 2

    def opMul(n1: Int): Int = n1 * 2

    def opDivision(n1: Int): Int = n1 / 2

    //    (3)标准函数调用
    val arr = cal(Array(1, 2, 3, 4), opAdd)
    println(arr.mkString(","))

    //采用匿名函数方式


  }
}
